﻿using UnityEngine;
using System.Collections;


/// <summary>
/// 해당 위치로 자연스럽게 움직이는 유틸리티 스크립트.
/// 애니메이션이 끝날 때까지 대기하지 않아도 현재 위치를 기준으로 계속 수정된 좌표로 이동하게 된다.
/// </summary>
public class SmoothMoving : MonoBehaviour
{
	// Constants

	const float		c_moveFactor	= 0.5f;


	// Members

	Transform		m_localT;

	public Vector3 targetPosition
	{
		get;
		set;
	}


	void Awake()
	{
		m_localT	= transform;
	}

	void FixedUpdate()
	{
		Vector3 position	= m_localT.localPosition;
		Vector3 moveVector	= (targetPosition - position) * c_moveFactor;

		if (moveVector.sqrMagnitude > 0.001)
		{
			m_localT.localPosition	= position + moveVector;
		}
	}
}
